/**
 * 统一监控插件
 * 整合所有监控功能：JavaScript错误、网络错误、性能监控、Vue错误处理
 * 具体逻辑在 ~/utils/monitor 中实现
 */
import {
  JavaScriptErrorHandler,
  NetworkErrorHandler,
  PerformanceHandler,
  VueErrorHandler,
} from '~/utils/monitor/handlers';
import { useMonitor } from '~/utils/monitor';

export default defineNuxtPlugin(nuxtApp => {
  if (process.client) {
    // 初始化所有监控处理器
    const errorHandler = new JavaScriptErrorHandler();
    const networkHandler = new NetworkErrorHandler();
    const performanceHandler = new PerformanceHandler();
    const vueHandler = new VueErrorHandler();

    // 启动所有监控
    errorHandler.init();
    networkHandler.init();
    performanceHandler.init();
    vueHandler.init(nuxtApp);

    console.log('🔍 [统一监控系统] 所有监控模块初始化完成');

    // 提供全局访问
    return {
      provide: {
        monitor: useMonitor(),
      },
    };
  }
});
